HipWorkerPool

Undocumented in source.

Constructors

this
this(size_t poolSize)
Undocumented in source.

Members

Functions

addOnAllTasksFinished
void addOnAllTasksFinished(void delegate() onAllFinished)
Undocumented in source. Be warned that the author may not have intended to support it.
await
void await()
Undocumented in source. Be warned that the author may not have intended to support it.
dispose
void dispose()
Undocumented in source. Be warned that the author may not have intended to support it.
executeMainThreadTasks
void executeMainThreadTasks()
Undocumented in source. Be warned that the author may not have intended to support it.
isIdle
bool isIdle()
Undocumented in source. Be warned that the author may not have intended to support it.
notifyOnFinish
void delegate(string name) notifyOnFinish(void delegate(string taskName) onFinish)
Undocumented in source. Be warned that the author may not have intended to support it.
notifyOnFinishOnMainThread
void delegate(string name) notifyOnFinishOnMainThread(void delegate(string taskName) onFinish, bool finished)
Undocumented in source. Be warned that the author may not have intended to support it.
onHipThreadError
void onHipThreadError(HipWorkerThread worker, bool isError, string message)
Undocumented in source. Be warned that the author may not have intended to support it.
pollFinished
void pollFinished()
Undocumented in source. Be warned that the author may not have intended to support it.
pushTask
HipWorkerThread pushTask(string name, void delegate() task, void delegate(string taskName) onTaskFinish, bool isOnFinishOnMainThread)

If there is no idle thread, null will be returned and the task and onFinish callbacks will be executed on that same thread. - Keep in mind that pushin task is not enough. You need to call startWorking() to make it active after pushing tasks

startWorking
void startWorking()

This function should be called every time you push a task.

Variables

awaitSemaphore
Semaphore awaitSemaphore;
Undocumented in source.
finishHandlersOnMainThread
void delegate()[] finishHandlersOnMainThread;
Undocumented in source.
handlersMutex
DebugMutex handlersMutex;
Undocumented in source.
onAllTasksFinishHandlers
void delegate()[] onAllTasksFinishHandlers;
Undocumented in source.
threads
HipWorkerThread[] threads;
Undocumented in source.

Meta